home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / eulisp / feel-075.lha / feel0.75 / bin / new-gcc-ld < prev   
Text File  |  1992-03-16  |  1KB  |  74 lines

  1. #!/bin/sh
  2.  
  3. # $Id: ldn,v 1.2 90/11/29 21:48:09 is Exp $
  4. # $Log:    ldn,v $
  5. # Revision 1.2  90/11/29  21:48:09  is
  6. # Changed brad_export to denton_export
  7. # Revision 1.1  90/11/29  21:47:24  is
  8. # Replacement ld script for Eulisp
  9.  
  10. PATH=/usr/local/bin:/bin:/usr/bin:/usr/ucb:$PATH
  11.  
  12. # A replacement LD script.
  13. # Go through the arguements, and try and guess which are the ones
  14. # which are elvira modules. Construct the setup function
  15.  
  16. echo "Building init_elvira.c"
  17.  
  18. comline=""
  19. elviram=""
  20.  
  21. while [ $# -gt 0 ]
  22. do
  23.     case "$1" in
  24.     -d*)    ;;
  25.     -e)    shift ;;
  26.     /lib/crt0.o) ;;
  27.     -*)
  28.         comline="$comline $1";;
  29.     *init_elvira.o)
  30.         ;;
  31.     *elvira.o)
  32.         comline="$comline init_elvira.o $1";;
  33.     *.o)
  34.         comline="$comline $1"
  35.         elviram="$elviram $1";;
  36.     *)
  37.         comline="$comline $1";;
  38.     esac
  39.     shift
  40. done
  41.  
  42. # When we get here, we should have a list of .o files belonging to 
  43. # Elvira modules
  44. #
  45. # Look for their startup routines
  46.  
  47. elviram=`echo $elviram | sed 's/\.c/.o/g'`
  48.  
  49. initnames=`nm -gp $elviram | egrep ' T _INIT_' | awk '{print $3}' | sed 's/_//'`
  50.  
  51. rm -f init_elvira.c
  52. cat ${FEELDIR}/Src/el_linkins.c > init_elvira.c
  53.  
  54. echo '
  55. void initialise_elvira_modules(LispObject *stacktop) 
  56. {
  57.   dp = nil;
  58.   dlp = nil;
  59.  
  60. ' >> init_elvira.c
  61.  
  62. for i in $initnames
  63. do
  64. echo "    $i(stacktop);" >> init_elvira.c
  65. done
  66. echo "}" >> init_elvira.c
  67.  
  68. unset GCC_EXEC_PREFIX
  69. set -x
  70. gcc -v -c $ElviraHdrs init_elvira.c &&
  71. gcc -v  `echo $comline | sed -e 's/\/lib\/Mcrt1.o//'`
  72.